package com.hundsun.cprs.yyt.gateway.service.trade;

import com.hundsun.cprs.yyt.gateway.request.AccountQuotaLogQueryRequest;
import com.hundsun.cprs.yyt.gateway.response.AccountQuotaLogListResponse;
import com.hundsun.cprs.yyt.gateway.response.AccountQuotaResponse;
import com.hundsun.cprs.yyt.gateway.response.BaseResponse;
import com.hundsun.cprs.yyt.gateway.response.UserEarnedSumResponse;
import com.hundsun.cprs.yyt.gateway.vo.AccountQuotaRequest;
import com.hundsun.jresplus.remoting.impl.annotation.Service;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceModule;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceParam;

/**
 * 账户相关T2对外接口包装
 * 
 * @author linrl
 * @date 2019年2月20日
 */
@ServiceModule
public interface AccountCommonService {

    /**
     * 获取指定用户的配额信息
     * 
     * @param request
     * @return
     */
    @Service(functionId = "319370", desc = "获取用户配额信息")
    AccountQuotaResponse getAccountQuota(AccountQuotaRequest request);

    /**
     * 配额变动流水
     * 
     * @param request
     * @return
     */
    @Service(functionId = "319371", desc = "查询配额变动流水")
    AccountQuotaLogListResponse selectAccountQuotaLog(AccountQuotaLogQueryRequest request);

    /**
     * 用户配额兑换积分
     * 
     * @param userId
     * @param quotaAmount
     * @return 319381
     */
    @Service(functionId = "319372", desc = "用户配额兑换积分")
    BaseResponse exchangePoints(@ServiceParam("user_id") Long userId, @ServiceParam("quota_amount") Long quotaAmount);

    /**
     * 查询用户累计赚得金额
     *
     * @param userId
     * @return
     */
    @Service(functionId = "319381", desc = "查询用户累计赚得金额")
    UserEarnedSumResponse queryUserEarnedSum(@ServiceParam("user_id") Long userId);

}
